package Infinite::Sequence::Fibonacci;
use base qw{Infinite::Sequence};

sub increment {
    my( $this ) = @_;
    
    unless( defined $this->{previous} ) {
        return $this->{previous} = 1;
    }
    unless( defined $this->{current} ) {
        return $this->{current} = 1;
    }
    
    my $next = $this->{previous} + $this->{current};
    
    $this->{previous} = $this->{current};
    $this->{current} = $next
}

1